package org.perla.entities;

import java.io.Serializable;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;

/**
 *
 */
@Entity
@Table(name = "associazionesensoredati")
@NamedQueries({
    @NamedQuery(name = "Associazionesensoredati.findAll", query = "SELECT a FROM Associazionesensoredati a"),
    @NamedQuery(name = "Associazionesensoredati.findByIdSensore", query = "SELECT a FROM Associazionesensoredati a WHERE a.associazionesensoredatiPK.idSensore = :idSensore"),
    @NamedQuery(name = "Associazionesensoredati.findByIdNodo", query = "SELECT a FROM Associazionesensoredati a WHERE a.associazionesensoredatiPK.idNodo = :idNodo"),
    @NamedQuery(name = "Associazionesensoredati.findByNomeTabella", query = "SELECT a FROM Associazionesensoredati a WHERE a.nomeTabella = :nomeTabella")})
public class Associazionesensoredati implements Serializable {
    private static final long serialVersionUID = 1L;
    @EmbeddedId
    protected AssociazionesensoredatiPK associazionesensoredatiPK;
    @Basic(optional = false)
    @Column(name = "NOME_TABELLA")
    private String nomeTabella;

    public Associazionesensoredati() {
    }

    public Associazionesensoredati(AssociazionesensoredatiPK associazionesensoredatiPK) {
        this.associazionesensoredatiPK = associazionesensoredatiPK;
    }

    public Associazionesensoredati(AssociazionesensoredatiPK associazionesensoredatiPK, String nomeTabella) {
        this.associazionesensoredatiPK = associazionesensoredatiPK;
        this.nomeTabella = nomeTabella;
    }

    public Associazionesensoredati(String idSensore, String idNodo) {
        this.associazionesensoredatiPK = new AssociazionesensoredatiPK(idSensore, idNodo);
    }

    public AssociazionesensoredatiPK getAssociazionesensoredatiPK() {
        return associazionesensoredatiPK;
    }

    public void setAssociazionesensoredatiPK(AssociazionesensoredatiPK associazionesensoredatiPK) {
        this.associazionesensoredatiPK = associazionesensoredatiPK;
    }

    public String getNomeTabella() {
        return nomeTabella;
    }

    public void setNomeTabella(String nomeTabella) {
        this.nomeTabella = nomeTabella;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (associazionesensoredatiPK != null ? associazionesensoredatiPK.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Associazionesensoredati)) {
            return false;
        }
        Associazionesensoredati other = (Associazionesensoredati) object;
        if ((this.associazionesensoredatiPK == null && other.associazionesensoredatiPK != null) || (this.associazionesensoredatiPK != null && !this.associazionesensoredatiPK.equals(other.associazionesensoredatiPK))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "org.perla.entities.Associazionesensoredati[associazionesensoredatiPK=" + associazionesensoredatiPK + "]";
    }

}
